home *** CD-ROM | disk | FTP | other *** search
/ Aminet 28 / Aminet 28 (1998)(GTI - Schatztruhe)[!][Dec 1998].iso / Aminet / dev / lang / nrcobol_1e.lha / NRCOBOL1e / COBFILES / ADVERTS3.COB < prev    next >
Text File  |  1997-06-25  |  24KB  |  535 lines

  1.        IDENTIFICATION DIVISION.
  2.        PROGRAM-ID.   ADVERTS3.
  3.       *PROGRAM DISCRIPTION.
  4.       *  A program to print an income report for an advertising agency.
  5.       * The advertisements will be in several different newspapers
  6.       * and will be grouped according to the catergory of ad.
  7.       * The program uses table lookup filess to translate the codes from
  8.       * the input file to report data, printer optioned out!.
  9.       *
  10.       *AUTHOR.        cHArRiOTt.
  11.       *INSTALLATION.
  12.       *DATE-WRITTEN.  24th AUG 89.
  13.       *DATE-COMPILLED.
  14.       *SECURITY.
  15.        ENVIRONMENT DIVISION.
  16.  
  17.        CONFIGURATION SECTION.
  18.        SOURCE-COMPUTER.   AMSTRAD 1512.
  19.        OBJECT-COMPUTER.
  20.        INPUT-OUTPUT SECTION. 
  21.        FILE-CONTROL.
  22.             SELECT           IN-ADVERT-FILE
  23.             ASSIGN TO        DISK
  24.             ORGANIZATION  IS LINE SEQUENTIAL
  25.             ACCESS MODE   IS SEQUENTIAL
  26.             FILE STATUS   IS WS-FILE-STATUS.
  27.  
  28.             SELECT           IN-NEWSPAPER-NAME
  29.             ASSIGN TO        DISK
  30.             ORGANIZATION IS  INDEXED
  31.             ACCESS MODE  IS  RANDOM
  32.             RECORD KEY   IS  ER-PAPER-CODE
  33.             FILE STATUS  IS  WS-PAPER-FILE-STATUS.
  34.  
  35.             SELECT           IN-ADVERT-TYPE
  36.             ASSIGN TO        DISK
  37.             ORGANIZATION IS  INDEXED
  38.             ACCESS MODE  IS  RANDOM
  39.             RECORD KEY   IS  ER-IN-AD-CODE
  40.             FILE STATUS  IS  WS-AD-TYPE-STATUS.
  41.  
  42.             SELECT           OUT-INCOME-REPORT
  43.             ASSIGN TO        PRINTER
  44.             ORGANIZATION  IS SEQUENTIAL
  45.             ACCESS MODE   IS SEQUENTIAL
  46.             FILE STATUS   IS WS-PRINT-STATUS.
  47.       *
  48.        DATA DIVISION.
  49.        FILE SECTION.
  50.        FD IN-ADVERT-FILE
  51.             LABEL RECORD IS  STANDARD
  52.             VALUE OF FILE-ID IS "ADVERTS.FIL".
  53.        01 ER-ADVERT-FILE.
  54.            03 ER-NEWSPAPER-CODE     PIC X(3).
  55.            03 ER-AD-TYPE-CODE       PIC 9(3).
  56.            03 ER-ACCOUNT-NUMBER     PIC 9(6).
  57.            03 ER-ACCOUNT-NAME       PIC X(20).
  58.            03 ER-NUMBER-OF-LINES    PIC 99.
  59.            03 ER-AD-DURATION        PIC 999.
  60.            03 ER-STARTING-DATE      PIC 9(6).
  61.       *
  62.        FD IN-NEWSPAPER-NAME
  63.             LABEL RECORD IS  STANDARD
  64.             VALUE OF FILE-ID IS "PAPER.NAM".
  65.        01 ER-NEWSPAPER-NAME.
  66.            03 ER-PAPER-CODE         PIC X(3).
  67.            03 ER-PAPER-NAME         PIC X(25).
  68.       *
  69.        FD IN-ADVERT-TYPE
  70.             LABEL RECORD IS  STANDARD
  71.             VALUE OF FILE-ID IS "ADVERT.TYP".
  72.        01 ER-ADVERT-TYPE.
  73.            03 ER-IN-AD-CODE         PIC 9(3).
  74.            03 ER-TYPE-OF-AD         PIC X(20).
  75.            03 ER-PRICE-PER-LINE     PIC 9V99.
  76.       *
  77.        FD OUT-INCOME-REPORT
  78.             LABEL RECORD IS  OMITTED.
  79.        01 PRT-INCOME-REPORT.
  80.            03 FILLER                PIC A(80).
  81.       *
  82.        WORKING-STORAGE SECTION.
  83.        01 WS-ADVERT-FILE.
  84.            03 WS-NEWSPAPER-CODE     PIC X(3).
  85.            03 WS-AD-TYPE-CODE       PIC 9(3).
  86.            03 WS-ACCOUNT-NUMBER     PIC 9(6).
  87.            03 WS-ACCOUNT-NAME       PIC X(20).
  88.            03 WS-NUMBER-OF-LINES    PIC 99.
  89.            03 WS-AD-DURATION        PIC 999.
  90.            03 WS-STARTING-DATE.
  91.               05 WS-STARTING-DAY    PIC 99.
  92.               05 WS-STARTING-MONTH  PIC 99.
  93.               05 WS-STARTING-YEAR   PIC 99.
  94.       *
  95.        01 WS-NEWSPAPER-NAME.
  96.            03 WS-PAPER-CODE         PIC X(3).
  97.            03 WS-PAPER-NAME         PIC X(25).
  98.       *
  99.        01 WS-ADVERT-TYPE.
  100.            03 WS-IN-AD-CODE         PIC 9(3).
  101.            03 WS-TYPE-OF-AD         PIC X(20).
  102.            03 WS-PRICE-PER-LINE     PIC 9V99.
  103.       *
  104.        01 WS-REAL-DATE.
  105.            03 WS-REAL-YEAR          PIC XX.
  106.            03 WS-REAL-MONTH         PIC XX.
  107.            03 WS-REAL-DAY           PIC XX.
  108.        01 WS-TEMP-DATE.
  109.            03 WS-TEMP-DAY           PIC XX.
  110.            03 FILLER                PIC X  VALUE "/".
  111.            03 WS-TEMP-MONTH         PIC XX.
  112.            03 FILLER                PIC X  VALUE "/".
  113.            03 WS-TEMP-YEAR          PIC XX.
  114.       *
  115.        01 WS-COUNTERS.
  116.            03 WS-PAGE-COUNTER           PIC 99.
  117.            03 WS-LINE-COUNTER           PIC 99.
  118.            03 WS-NUMBER-OF-ACCOUNTS     PIC 9999.
  119.            03 WS-AVG-PRICE-PER-LINE     PIC 9999V99.
  120.            03 WS-TOTAL-LINES            PIC 999999.
  121.            03 WS-AVG-NUMBER-OF-LINES    PIC 999999.
  122.            03 WS-INCOME-EARNED          PIC 99999V99.
  123.            03 WS-TOTAL-INCOME-EARNED    PIC 99999V99.
  124.        01 WS-STOP-RUN-FLAG          PIC X   VALUE " ".
  125.        01 WS-END-FILE-FLAG          PIC X   VALUE " ".
  126.        01 WS-ABORT-READ-FLAG        PIC X   VALUE " ".
  127.        01 WS-FILE-STATUS            PIC XX  VALUE "00".
  128.        01 WS-PAPER-FILE-STATUS      PIC XX  VALUE "00".
  129.        01 WS-AD-TYPE-STATUS         PIC XX  VALUE "00".
  130.        01 WS-PRINT-STATUS           PIC XX  VALUE "00".
  131.        01 WS-RESPONCE               PIC X.
  132.            88  WS-RESPONCE-Q        VALUE  "Q" "q".
  133.            88  WS-RESPONCE-P        VALUE  "P" "p".
  134.            88  WS-RESPONCE-S        VALUE  "S" "s".
  135.            88  WS-RESPONCE-YN       VALUE  "Y" "N"
  136.                                            "y" "n".
  137.            88  WS-RESPONCE-Y        VALUE  "Y" "y".
  138.            88  WS-RESPONCE-N        VALUE  "N" "n".
  139.       *
  140.        01 PRINT-PROG-TITLE.
  141.            03 WS-PRT-TEMP-DATE       PIC X(8).
  142.            03 FILLER                 PIC X(14) VALUE SPACES.
  143.            03 FILLER                 PIC X(36) VALUE
  144.            "CLASSIFIED ADVERTISING INCOME REPORT".
  145.            03 FILLER                 PIC X(7)  VALUE SPACES.
  146.            03 FILLER                 PIC X(5)  VALUE "PAGE ".
  147.            03 WS-PRT-PAGE-COUNTER    PIC 99.
  148.        01 PRINT-RECORD.
  149.            03 PRT-PAPER-NAME.
  150.               05 FILLER   PIC X(5)   VALUE SPACES.
  151.               05 FILLER   PIC X(26)  VALUE "NEWSPAPER NAME          : ".
  152.               05 WS-PRT-PAPER-NAME   PIC X(25).
  153.            03 PRT-TYPE-OF-AD.
  154.               05 FILLER   PIC X(5)   VALUE SPACES.
  155.               05 FILLER   PIC X(26)  VALUE "TYPE OF ADVERT          : ".
  156.               05 WS-PRT-TYPE-OF-AD   PIC X(20).
  157.            03 PRT-ACCOUNT-NUMBER.
  158.               05 FILLER   PIC X(5)   VALUE SPACES.
  159.               05 FILLER   PIC X(26)  VALUE "ACCOUNT NUMBER          : ".
  160.               05 WS-PRT-ACCOUNT-NUMBER  PIC 9(6).
  161.            03 PRT-ACCOUNT-NAME.
  162.               05 FILLER   PIC X(5)   VALUE SPACES.
  163.               05 FILLER   PIC X(26)  VALUE "ACCOUNT NAME            : ".
  164.               05 WS-PRT-ACCOUNT-NAME PIC X(20).
  165.            03 PRT-NUMBER-OF-LINES.
  166.               05 FILLER   PIC X(5)   VALUE SPACES.
  167.               05 FILLER   PIC X(26)  VALUE "NUMBER OF LINES         : ".
  168.               05 WS-PRT-NUMBER-OF-LINES PIC Z9.
  169.            03 PRT-AD-DURATION.
  170.               05 FILLER   PIC X(5)   VALUE SPACES.
  171.               05 FILLER   PIC X(26)  VALUE "ADVERT'S DURATION (DAYS): ".
  172.               05 WS-PRT-AD-DURATION  PIC ZZ9.
  173.            03 PRT-PRICE-PER-LINE.
  174.               05 FILLER   PIC X(5)   VALUE SPACES.
  175.               05 FILLER   PIC X(29)  VALUE "PRICE PER LINE          : ".
  176.               05 WS-PRT-PRICE-PER-LINE PIC $9.99.
  177.            03 PRT-INCOME-EARNED.
  178.               05 FILLER   PIC X(5)   VALUE SPACES.
  179.               05 FILLER   PIC X(26)  VALUE "INCOME EARNED           : ".
  180.               05 WS-PRT-INCOME-EARNED  PIC $$$$9.99.
  181.        01 PRINT-TOTALS.
  182.            03 PRT-NUMBER-OF-ACCOUNTS.
  183.               05 FILLER   PIC X(5)   VALUE SPACES.
  184.               05 FILLER   PIC X(28)  VALUE "NUMBER OF ACCOUNTS      : ".
  185.               05 WS-PRT-NUMBER-OF-ACCOUNTS PIC ZZZ9.
  186.            03 PRT-AVG-NUMBER-OF-LINES.
  187.               05 FILLER   PIC X(5)   VALUE SPACES.
  188.               05 FILLER   PIC X(26)  VALUE "AVERAGE NUMBER OF LINES : ".
  189.               05 WS-PRT-AVG-NUMBER-OF-LINES PIC ZZZZZ9. 
  190.            03 PRT-AVG-PRICE-PER-LINE.
  191.               05 FILLER   PIC X(5)   VALUE SPACES.
  192.               05 FILLER   PIC X(27)  VALUE "AVERAGE PRICE PER LINE  : ".
  193.               05 WS-PRT-AVG-PRICE-PER-LINE      PIC $$$9.99.
  194.            03 PRT-TOTAL-INCOME-EARNED.
  195.               05 FILLER   PIC X(5)   VALUE SPACES.
  196.               05 FILLER   PIC X(26)